home *** CD-ROM | disk | FTP | other *** search
/ .net - The Best of 1999/2000 / netCD Special01.iso / pc / Software / M3Gate / m3stp03.exe / data1.cab / DTD / wml_1.1.xml
Encoding:
Text File  |  2000-05-22  |  8.7 KB  |  354 lines

  1. <!--
  2. Wireless Markup Language (WML) Document Type Definition.
  3.  
  4. Copyright Wireless Application Protocol Forum Ltd., 1998,1999.
  5.                       All rights reserved.  
  6.  
  7. WML is an XML language.  Typical usage:
  8.    <?xml version="1.0"?>
  9.    <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
  10.           "http://www.wapforum.org/DTD/wml_1.1.xml">
  11.    <wml>
  12.    ...
  13.    </wml>
  14.  
  15. Terms and conditions of use are available from the Wireless 
  16. Application Protocol Forum Ltd. web site at
  17. http://www.wapforum.org/docs/copyright.htm.
  18. -->
  19.  
  20. <!ENTITY % length  "CDATA">    <!-- [0-9]+ for pixels or [0-9]+"%" for
  21.                                     percentage length -->
  22. <!ENTITY % vdata   "CDATA">    <!-- attribute value possibly containing
  23.                                     variable references -->
  24. <!ENTITY % HREF    "%vdata;">  <!-- URI, URL or URN designating a hypertext
  25.                                     node. May contain variable references -->
  26. <!ENTITY % boolean    "(true|false)">
  27. <!ENTITY % number  "NMTOKEN">  <!-- a number, with format [0-9]+ -->
  28. <!ENTITY % coreattrs  "id    ID     #IMPLIED 
  29.                        class CDATA  #IMPLIED">
  30.  
  31. <!ENTITY % emph    "em | strong | b | i | u | big | small">
  32. <!ENTITY % layout  "br">
  33.  
  34. <!ENTITY % text     "#PCDATA | %emph;">
  35.  
  36. <!-- flow covers "card-level" elements, such as text and images -->
  37. <!ENTITY % flow     "%text; | %layout; | img | anchor | a | table">
  38.  
  39. <!-- Task types -->
  40. <!ENTITY % task   "go | prev | noop | refresh">
  41.  
  42. <!-- Navigation and event elements -->
  43. <!ENTITY % navelmts "do | onevent">
  44.  
  45. <!--================ Decks and Cards ================-->
  46.  
  47. <!ELEMENT wml ( head?, template?, card+ )>
  48. <!ATTLIST wml
  49.   xml:lang        NMTOKEN        #IMPLIED
  50.   %coreattrs;
  51.   >
  52.  
  53. <!-- card intrinsic events -->
  54. <!ENTITY % cardev
  55.  "onenterforward  %HREF;          #IMPLIED
  56.   onenterbackward %HREF;          #IMPLIED
  57.   ontimer         %HREF;          #IMPLIED"
  58.   >
  59.  
  60. <!-- card field types -->
  61. <!ENTITY % fields  "%flow; | input | select | fieldset">
  62.  
  63. <!ELEMENT card (onevent*, timer?, (do | p)*)>
  64. <!ATTLIST card
  65.   title           %vdata;       #IMPLIED
  66.   newcontext      %boolean;     "false"
  67.   ordered         %boolean;     "true"
  68.   xml:lang        NMTOKEN       #IMPLIED
  69.   %cardev;
  70.   %coreattrs;
  71.   >
  72.  
  73. <!--================ Event Bindings ================-->
  74.  
  75. <!ELEMENT do (%task;)>
  76. <!ATTLIST do
  77.   type         CDATA       #REQUIRED
  78.   label        %vdata;     #IMPLIED
  79.   name         NMTOKEN     #IMPLIED
  80.   optional     %boolean;   "false"
  81.   xml:lang     NMTOKEN     #IMPLIED
  82.   %coreattrs;
  83.   >
  84.  
  85. <!ELEMENT onevent (%task;)>
  86. <!ATTLIST onevent
  87.   type         CDATA       #REQUIRED
  88.   %coreattrs;
  89.   >
  90.  
  91. <!--================ Deck-level declarations ================-->
  92.  
  93. <!ELEMENT head ( access | meta )+>
  94. <!ATTLIST head
  95.   %coreattrs;
  96.   >
  97.  
  98. <!ELEMENT template (%navelmts;)*>
  99. <!ATTLIST template
  100.   %cardev;
  101.   %coreattrs;
  102.   >
  103.  
  104. <!ELEMENT access EMPTY>
  105. <!ATTLIST access
  106.   domain       CDATA       #IMPLIED
  107.   path         CDATA       #IMPLIED
  108.   %coreattrs;
  109.   >
  110.  
  111. <!ELEMENT meta EMPTY>
  112. <!ATTLIST meta
  113.   http-equiv     CDATA      #IMPLIED
  114.   name           CDATA      #IMPLIED
  115.   forua          %boolean;  #IMPLIED
  116.   content        CDATA      #REQUIRED
  117.   scheme         CDATA      #IMPLIED
  118.   %coreattrs;
  119.   >
  120.  
  121. <!--================ Tasks ================-->
  122.  
  123. <!ELEMENT go (postfield | setvar)*>
  124. <!ATTLIST go
  125.   href            %HREF;           #REQUIRED
  126.   sendreferer     %boolean;       "false"
  127.   method          (post|get)      "get"
  128.   accept-charset  CDATA           #IMPLIED
  129.   %coreattrs;
  130.   >
  131.  
  132. <!ELEMENT prev (setvar)*>
  133. <!ATTLIST prev
  134.   %coreattrs;
  135.   >
  136.  
  137. <!ELEMENT refresh (setvar)*>
  138. <!ATTLIST refresh
  139.   %coreattrs;
  140.   >
  141.  
  142. <!ELEMENT noop EMPTY>
  143. <!ATTLIST noop
  144.   %coreattrs;
  145.   >
  146.  
  147. <!--================ postfield ================-->
  148.  
  149. <!ELEMENT postfield EMPTY>
  150. <!ATTLIST postfield
  151.   name         %vdata;           #REQUIRED
  152.   value        %vdata;           #REQUIRED
  153.   %coreattrs;
  154.   >
  155.  
  156. <!--================ variables ================-->
  157.  
  158. <!ELEMENT setvar EMPTY>
  159. <!ATTLIST setvar
  160.   name         %vdata;           #REQUIRED
  161.   value        %vdata;           #REQUIRED
  162.   %coreattrs;
  163.   >
  164.  
  165. <!--================ Card Fields ================-->
  166.  
  167. <!ELEMENT select (optgroup|option)+>
  168. <!ATTLIST select
  169.   title        %vdata;           #IMPLIED
  170.   name         NMTOKEN           #IMPLIED
  171.   value        %vdata;           #IMPLIED
  172.   iname        NMTOKEN           #IMPLIED
  173.   ivalue       %vdata;           #IMPLIED
  174.   multiple     %boolean;         "false"
  175.   tabindex     %number;          #IMPLIED
  176.   xml:lang     NMTOKEN           #IMPLIED
  177.   %coreattrs;
  178.   >
  179.  
  180. <!ELEMENT optgroup (optgroup|option)+ >
  181. <!ATTLIST optgroup
  182.   title      %vdata;    #IMPLIED
  183.   xml:lang   NMTOKEN    #IMPLIED
  184.   %coreattrs;
  185.   >
  186.  
  187. <!ELEMENT option (#PCDATA | onevent)*>
  188. <!ATTLIST option
  189.   value      %vdata;    #IMPLIED
  190.   title      %vdata;    #IMPLIED
  191.   onpick     %HREF;     #IMPLIED
  192.   xml:lang   NMTOKEN    #IMPLIED
  193.   %coreattrs;
  194.   >
  195.  
  196. <!ELEMENT input EMPTY>
  197. <!ATTLIST input
  198.   name       NMTOKEN           #REQUIRED
  199.   type       (text|password)   "text"
  200.   value      %vdata;           #IMPLIED
  201.   format     CDATA             #IMPLIED
  202.   emptyok    %boolean;         "false"
  203.   size       %number;          #IMPLIED
  204.   maxlength  %number;          #IMPLIED
  205.   tabindex   %number;          #IMPLIED
  206.   title      %vdata;           #IMPLIED
  207.   xml:lang   NMTOKEN           #IMPLIED
  208.   %coreattrs;
  209.   >
  210.  
  211. <!ELEMENT fieldset (%fields; | do)* >
  212. <!ATTLIST fieldset
  213.   title           %vdata;      #IMPLIED
  214.   xml:lang        NMTOKEN      #IMPLIED
  215.   %coreattrs;
  216.   >
  217.  
  218. <!ELEMENT timer EMPTY>
  219. <!ATTLIST timer
  220.   name       NMTOKEN           #IMPLIED
  221.   value      %vdata;           #REQUIRED
  222.   %coreattrs;
  223.   >
  224.  
  225. <!--================ Images ================-->
  226.  
  227. <!ENTITY % IAlign "(top|middle|bottom)" >
  228.  
  229. <!ELEMENT img EMPTY>
  230. <!ATTLIST img
  231.   alt        %vdata;      #REQUIRED
  232.   src        %HREF;       #REQUIRED
  233.   localsrc   %vdata;      #IMPLIED
  234.   vspace     %length;     "0"
  235.   hspace     %length;     "0"
  236.   align      %IAlign;     "bottom"
  237.   height     %length;     #IMPLIED
  238.   width      %length;     #IMPLIED
  239.   xml:lang   NMTOKEN      #IMPLIED
  240.   %coreattrs;
  241.   >
  242.  
  243. <!--================ Anchor ================-->
  244.  
  245. <!ELEMENT anchor ( #PCDATA | br | img | go | prev | refresh )*>
  246. <!ATTLIST anchor
  247.   title        %vdata;      #IMPLIED
  248.   xml:lang     NMTOKEN      #IMPLIED
  249.   %coreattrs;
  250.   >
  251.  
  252. <!ELEMENT a ( #PCDATA | br | img )*>
  253. <!ATTLIST a
  254.   href         %HREF;       #REQUIRED
  255.   title        %vdata;      #IMPLIED
  256.   xml:lang     NMTOKEN      #IMPLIED
  257.   %coreattrs;
  258.   >
  259.  
  260. <!--================ Tables ================-->
  261.  
  262. <!ELEMENT table (tr)+>
  263. <!ATTLIST table
  264.   title       %vdata;    #IMPLIED
  265.   align       CDATA      #IMPLIED
  266.   columns     %number;   #REQUIRED
  267.   xml:lang    NMTOKEN    #IMPLIED
  268.   %coreattrs;
  269.   >
  270.  
  271. <!ELEMENT tr (td)+>
  272. <!ATTLIST tr
  273.   %coreattrs;
  274.   >
  275.  
  276. <!ELEMENT td ( %text; | %layout; | img | anchor | a )*>
  277. <!ATTLIST td
  278.   xml:lang        NMTOKEN       #IMPLIED
  279.   %coreattrs;
  280.   >
  281.  
  282. <!--================ Text layout and line breaks ================-->
  283.  
  284. <!ELEMENT em     (%flow;)*>
  285. <!ATTLIST em
  286.   xml:lang        NMTOKEN       #IMPLIED
  287.   %coreattrs;
  288.   >
  289.  
  290. <!ELEMENT strong (%flow;)*>
  291. <!ATTLIST strong
  292.   xml:lang        NMTOKEN       #IMPLIED
  293.   %coreattrs;
  294.   >
  295.  
  296. <!ELEMENT b      (%flow;)*>
  297. <!ATTLIST b
  298.   xml:lang        NMTOKEN       #IMPLIED
  299.   %coreattrs;
  300.   >
  301.  
  302. <!ELEMENT i      (%flow;)*>
  303. <!ATTLIST i
  304.   xml:lang        NMTOKEN       #IMPLIED
  305.   %coreattrs;
  306.   >
  307.  
  308. <!ELEMENT u      (%flow;)*>
  309. <!ATTLIST u
  310.   xml:lang        NMTOKEN       #IMPLIED
  311.   %coreattrs;
  312.   >
  313.  
  314. <!ELEMENT big    (%flow;)*>
  315. <!ATTLIST big
  316.   xml:lang        NMTOKEN       #IMPLIED
  317.   %coreattrs;
  318.   >
  319.  
  320. <!ELEMENT small  (%flow;)*>
  321. <!ATTLIST small
  322.   xml:lang        NMTOKEN       #IMPLIED
  323.   %coreattrs;
  324.   >
  325.  
  326. <!ENTITY % TAlign "(left|right|center)">
  327. <!ENTITY % WrapMode "(wrap|nowrap)" >
  328. <!ELEMENT p (%fields; | do)*>
  329. <!ATTLIST p
  330.   align       %TAlign;     "left"
  331.   mode        %WrapMode;   #IMPLIED
  332.   xml:lang    NMTOKEN      #IMPLIED
  333.   %coreattrs;
  334.   >
  335.  
  336. <!ELEMENT br EMPTY>
  337. <!ATTLIST br
  338.   xml:lang        NMTOKEN       #IMPLIED
  339.   %coreattrs;
  340.   >
  341.  
  342. <!ENTITY quot  """>     <!-- quotation mark -->
  343. <!ENTITY amp   "&#38;"> <!-- ampersand -->
  344. <!ENTITY apos  "'">     <!-- apostrophe -->
  345. <!ENTITY lt    "&#60;"> <!-- less than -->
  346. <!ENTITY gt    ">">     <!-- greater than -->
  347. <!ENTITY nbsp  " ">    <!-- non-breaking space -->
  348. <!ENTITY shy   "­">    <!-- soft hyphen (discretionary hyphen) -->
  349.  
  350. <!--
  351. Copyright Wireless Application Protocol Forum Ltd., 1998,1999.
  352.                       All rights reserved.  
  353. -->
  354.